/////////////////////////////////////////////////////////////////////////////
// Name:        preferences.h
// Purpose:     
// Author:      Stephen Whittle
// Modified by: 
// Created:     09/06/2009 16:39:41
// RCS-ID:      
// Copyright:   
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _PREFERENCES_H_
#define _PREFERENCES_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/clrpicker.h"
#include "wx/fontpicker.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
class wxColourPickerCtrl;
class wxFontPickerCtrl;
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_PREFERENCES 10001
#define ID_CHECKBOX 10014
#define ID_BUTTON 10015
#define ID_COLOURCTRL 10016
#define ID_COLOURPICKERCTRL 10000
#define ID_FONTCTRL 10021
#define ID_CHECKBOX1 10063
#define ID_CHECKBOX2 10077
#define ID_TEXTCTRL8 10078
#define ID_TEXTCTRL11 10082
#define SYMBOL_PREFERENCES_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL
#define SYMBOL_PREFERENCES_TITLE _("Preferences")
#define SYMBOL_PREFERENCES_IDNAME ID_PREFERENCES
#define SYMBOL_PREFERENCES_SIZE wxSize(400, 300)
#define SYMBOL_PREFERENCES_POSITION wxDefaultPosition
////@end control identifiers


/*!
 * Preferences class declaration
 */

class Preferences: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( Preferences )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    Preferences();
    Preferences( wxWindow* parent, wxWindowID id = SYMBOL_PREFERENCES_IDNAME, const wxString& caption = SYMBOL_PREFERENCES_TITLE, const wxPoint& pos = SYMBOL_PREFERENCES_POSITION, const wxSize& size = SYMBOL_PREFERENCES_SIZE, long style = SYMBOL_PREFERENCES_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_PREFERENCES_IDNAME, const wxString& caption = SYMBOL_PREFERENCES_TITLE, const wxPoint& pos = SYMBOL_PREFERENCES_POSITION, const wxSize& size = SYMBOL_PREFERENCES_SIZE, long style = SYMBOL_PREFERENCES_STYLE );

    /// Destructor
    ~Preferences();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin Preferences event handler declarations

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON
    void OnDefineClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX2
    void OnGaugeClick( wxCommandEvent& event );

    /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
    void OnOkClick( wxCommandEvent& event );

////@end Preferences event handler declarations

////@begin Preferences member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end Preferences member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin Preferences member variables
    wxCheckBox* m_CustomColours;
    wxColourPickerCtrl* m_Colour1;
    wxColourPickerCtrl* m_Colour2;
    wxFontPickerCtrl* m_FontPicker;
    wxCheckBox* m_LocalEcho;
    wxCheckBox* m_Gauges;
    wxTextCtrl* m_GaugeString;
    wxTextCtrl* m_SepChar;
////@end Preferences member variables
};

#endif
    // _PREFERENCES_H_
